/**
 * 特定格式数组(类数组)提取值
 * @param arr array|ArrayLike 处理的(类)数组
 * @param k string|null 提取的键  空字符:非null
 * @param v string|null 提取的值  空字符:非null
 * @return json|array
 * 		k==null & v==null: 直接返回原参数arr, 不修改
 * 		k!=null & v==null: [{k:kv,}] -> {kv:{k:kv,}}
 * 		k!=null & v!=null: [{k:kv,v:vv}] -> {kv:vv,}
 * 		k==null & v!=null: [{v:vv,}] -> [vv,] 新数组
 */
$.apv = function(arr, k, v=null){
	if(k===null&&v===null) return arr; let i=0,L=arr.length,rtn;
	if(k===null){ rtn=[]; for(; i<L; i++) rtn.push(arr[i][v]); }
	else{
		rtn = {};
		if(v===null) for(; i<L; i++) rtn[arr[i][k]]=arr[i];
		else for(; i<L; i++) rtn[arr[i][k]]=arr[i][v];
	}
	return rtn;
};
